<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  
  <script type="text/javascript" src="../js/axios.js"></script>
  <script type="text/javascript">
    /*
      async/await 就是二种标识，用来表示为异步操作。
      async：函数返回一个Promise实例对象
      await：后面可以直接跟一个 Promise实例对象
    */
    axios.defaults.baseURL = 'http:localhost:8082';
    axios.get('async1').then(function(resp){   //resp代表axios返回的Promise
      console.log(resp.data);
    })

    /* 
      async 表示：该函数是一个异步操作的函数。
      async：返回的是一个promise。
      await：表示等待异步操作的结果。
      就是为了程序员解读代码的时候更新清晰。
    */
    async function func1() {
      const resp = await axios.get('async1');
      return resp.data;
    }

    func1().then(function(data) {
      console.log("func1: "+data);
    });

    /*
      是一个异步操作
    */
    async function func2() {
      const data = await new Promise(function(resolve, reject) {
        setTimeout(function(){
          resolve('异步结果返回');
        },1000);
      });
      console.log("func2 return data："+data);
      return data;
    }

    func2().then(function(data) {
      console.log("func2: "+data)
    });

  </script>
</body>
</html>